// 导入axios
import axios from 'axios'
import store from '@/store/index.js'
import jsonBig from 'json-bigint'

const request = axios.create({
  /* 基础路径 */
  baseURL: 'http://www.liulongbin.top:8000',
  // transformResponse允许自定义原始的响应数据
  transformResponse: [
    function(data) {
      try {
        // 如果转换成功则返回转换的数据结果
        return jsonBig.parse(data)
      } catch (err) {
        // 如果转换失败，则包装为统一数据格式并返回
        return data
      }
    }
  ]
})

// 请求拦截器--在请求发送前进行一些操作
request.interceptors.request.use(
  function(config) {
    // 解构stats仓库的user
    const { user } = store.state
    // 当有user并且有user的token
    if (user && user.token) {
      // console.log(config)
      // 设置请求头
      config.headers.Authorization = `"Bearer ${user.token}`
    }
    // 返回config
    return config
  },
  function(error) {
    return Promise.reject(error)
  }
)
// 响应拦截器--接受到响应后进行一些操作

// 导出模块
export default request
